home *** CD-ROM | disk | FTP | other *** search
/ A.C.E. 2 / ACE CD 2.iso / FILES / UTILS / HSBASIC2.DMS / in.adf / HB2Examples2.0.Lha / Examples / EmBClass / EmBDemo.bas < prev    next >
Encoding:
BASIC Source File  |  1994-04-14  |  1.4 KB  |  66 lines

  1. ''
  2. '' $Id: EmBDemo.bas,v 1.2 1994/03/16 12:12:38 alex Rel $
  3. ''
  4. '' Demonstration of a BOOPSI private image class
  5. ''
  6. '' Derived from Commodore-Amiga example (c) Copyright 1992 Commodore-Amiga, Inc.
  7. ''
  8.  
  9. DEFINT A-Z
  10.  
  11. 'REM $INCLUDE Graphics.bh
  12. 'REM $INCLUDE Intuition.bh
  13. 'REM $INCLUDE Utility.bh
  14. 'REM $INCLUDE Exec.bc
  15. 'REM $INCLUDE Hardware.bc
  16.  
  17. REM $INCLUDE BLib/BOOPSISupport.bas
  18. REM $INCLUDE BLib/GfxMacros.bas
  19.  
  20. REM $INCLUDE EmBClass.bas    ' the private image class implementation
  21.  
  22. LIBRARY OPEN "graphics.library", LIBRARY_MINIMUM&
  23. LIBRARY OPEN "intuition.library", 36
  24. LIBRARY OPEN "utility.library", LIBRARY_MINIMUM&
  25.  
  26. DIM SHARED tl&(40)        ' Generic TagList
  27.  
  28. CONST XPOS = 40
  29. CONST YPOS = 20
  30. CONST XPOS2 = 70
  31.  
  32. SUB main
  33.     STATIC EmBClass&    ' Black-box abstract class handle
  34.     STATIC drinfo&
  35.     STATIC myimage&
  36.  
  37.     EmBClass& = initEmBClass&
  38.  
  39.     ' create an image from my private class
  40.     TAGLIST VARPTR(tl&(0)), _
  41.       IA_Width&, 20, _
  42.       IA_Height&, 10, _
  43.       TAG_END&
  44.     myimage& = NewObjectA&(EmBClass&, NULL&, VARPTR(tl&(0)))
  45.  
  46.     drinfo& = GetScreenDrawInfo&(PEEKL(WINDOW(7) + WScreen))
  47.  
  48.     ' draw the image
  49.     DrawImageState WINDOW(8), myimage&, XPOS, YPOS, IDS_NORMAL&, drinfo&
  50.  
  51.     ' draw the image
  52.     DrawImageState WINDOW(8), myimage&, XPOS2, YPOS, IDS_SELECTED&, drinfo&
  53.     
  54.     SLEEP
  55.     
  56.     FreeScreenDrawInfo PEEKL(WINDOW(7) + WScreen), drinfo&
  57.  
  58.     DisposeObject myimage&
  59.     IF freeEmBClass&(EmBClass&) = FALSE& THEN
  60.         PRINT "PANIC: exiting with class not freed!"
  61.     END IF
  62. END SUB
  63.  
  64. main
  65. END
  66.